/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.hamacekj.dotaznikserver;

import java.io.IOException;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

/**
 *
 * @author Jan Hamáček
 */
public class DotaznikServer {
    
    private static SimpleFileLock appFileLock;
    
    /**
     * Hlavní program. Získá zámek (ochrana pro běh jediné instance programu) a spustí 
     * ve swing vlákně {@link UI#createAndShowGUI() createAndShowGui} v třídě {@link UI UI}.
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        appFileLock = new SimpleFileLock();
        try{
            if(!appFileLock.tryLock()){
                try{
                    SwingUtilities.invokeAndWait(new Runnable() {

                        @Override
                        public void run() {
                            try{
                                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                            }catch(Exception e){}
                            JOptionPane.showMessageDialog(null,
                                    "Tento program již běží. Stačí ho jen maximalizovat (poklepáním na ikonku programu v oznamovací oblasti)",
                                    "Program již běží", JOptionPane.INFORMATION_MESSAGE);
                            System.exit(1);
                        }
                    });
                }catch(Exception e){
                    System.exit(1);
                }
            }
        }catch(IOException e){}
        
        final UI ui = new UI();
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                ui.createAndShowGUI();
            }
        });
        
        // Načíst konfigy a vytvořit pole connections
        // Spustit UI
    }
}
